//2 的幂--------------231
//给你一个整数 n，请你判断该整数是否是 2 的幂次方。如果是，返回 true ；否则，返回 false 。
//如果存在一个整数 x 使得 n == 2x ，则认为 n 是 2 的幂次方。

#include <stdio.h>
#include <stdbool.h>

bool isPowerOfTwo(int n) {
    if(n == 1)
    return true;
    if(n <= 0)
    return false;
    if(n%2 == 0)
    return isPowerOfTwo(n/2);
    return false; 
}

int main()
{
    int n;
    printf("请输入一个整数:");
    scanf("%d",&n);
    printf("%d是2的幂次方?\n",n);
    if(isPowerOfTwo(n) == 1)
    {
        printf("true\n");
    }
    if(isPowerOfTwo(n) == 0)
    {
        printf("false\n");
    }
    //printf("%s\n",isPowerOfTwo(n));
}